#include "Globals.h"

// --- 定义全局游戏状态变量 ---
Plane player;
Bullet bullets[MAX_BULLETS];
Enemy enemies[MAX_TOTAL_ENEMIES];
int activeEnemies = 0;
int current_level = 1; // 默认起始关卡
SaveData current_save;
SaveData new_save;

// --- 定义图形与计时 ---
IMAGE image_Equipment[MAX_EQUIPMENT_IMAGES];
IMAGE image_Plane[MAX_PLANE_IMAGES];
IMAGE image_Bullet[MAX_BULLET_IMAGES];
IMAGE image_View[MAX_VIEW_IMAGES];
IMAGE image_Button[MAX_BUTTON_IMAGES];
IMAGE image_Enemy[MAX_ENEMY_IMAGES];
int map_y = 0;
TimerClock globalTimer; // 如果使用，需要正确初始化
ExMessage msg; // EasyX 消息结构体

// --- 定义关卡数据 ---
LevelConfig levels[] = {
    {1, 20, 4, 50, 2.5f},   // 关卡 1
    {2, 35, 5, 70, 2.0f},   // 关卡 2
    {3, 48, 6, 90, 1.8f}    // 关卡 3
    // 添加更多关卡...
};
BossConfig boss[] = {
    {500, 2, 3.0f}, // 关卡 1 Boss // 调整了速度
    {800, 3, 4.0f}, // 关卡 2 Boss
    {1200, 4, 5.0f} // 关卡 3 Boss
};

// --- 定义装备库 ---
Equipment game_equipment_library[] = {
    {"基础炮", WEAPON, 0, 0, 0, 0, 10, 5.0f, 0, 0, 0},    // 添加了 num=0, 使用属性
    {"推进器", ENGINE, 1, 0, 0, 0, 0, 0, 1.2f, 0, 0},    // num=1, 速度倍率 1.2?
    {"基础装甲", ARMOR, 2, 0, 0, 0, 0, 0, 0, 5, 50},     // num=2
    {"僚机L", WINGMAN, 3, -40, 10, 0, 5, 0, 0, 0, 0},   // num=3, 位置偏移
    {"僚机R", WINGMAN, 4, 40, 10, 0, 5, 0, 0, 0, 0},    // num=4
    // 添加更多装备, 确保 'num' 唯一且对应图片索引 (如果需要)
};
// 如果其他地方需要，计算库的实际大小
// const int equipment_library_size = sizeof(game_equipment_library) / sizeof(Equipment);


// --- 定义输入状态变量 ---
// 注册视图
const int max_len = 10;
char text[3][11] = { "","","" }; // 存储输入文本
RECT rect[3] = { { 430,249,880,280 } ,{ 430,325,880,355 } ,{ 430,400,880,430 } }; // 输入框位置
int curr_flag = 0;               // 当前选中的输入框
int curr_len[3] = { 0,0,0 };     // 当前输入长度
// 密码视图
const int textlen_max = 256;
char text_password[3][256] = { {'\0'},{'\0'},{'\0'} }; // 密码输入文本
int curr_len_password[3] = { 0,0,0 };                   // 密码框当前长度
RECT rect_password[3] = { {130,195,330,225},{130,245,330,275},{130,295,330,325} }; // 密码框位置
int curr_flag_password = 0;                             // 当前密码框
// 登录视图
char login_text[2][256] = { {'\0'},{'\0'} };            // 登录输入文本
int login_curr_len[2] = { 0,0 };                        // 登录框当前长度
RECT rect_login[2] = { {185,165,485,195},{185,235,485,265} }; // 登录框位置
int login_curr_flag = 0;                                // 当前登录框
// 仓库视图 (考虑重构此状态表示方式)
int h[2][5][7] = { {{0}} }; // 正确初始化
// 敌机射击计时器
ULONGLONG enemyShootTimer[MAX_TOTAL_ENEMIES] = { 0 };
